package com.cloud.report.api.service;

import java.util.List;

import com.cloud.report.api.entity.ReportDatasource;

public interface ReportDataSourceService {

	/**
	 * 查询数据源列表
	 * 
	 * @param ds
	 * @return
	 */
	List<ReportDatasource> listDataSource();

	/**
	 * 保存或更新数据源信息
	 * 
	 * @param ds
	 * @return
	 */
	ReportDatasource saveUpdateDataSource(ReportDatasource ds);

	/**
	 * 加载数据源
	 * @param id
	 * @return
	 */
	ReportDatasource load(int id);

	/**
	 * 删除数据源
	 * @param id
	 * @return
	 */
	long deleteDataSource(long id);
	
	/**
	 * 测试数据源是否可用
	 * @param ds
	 * @return
	 */
	String tryConnection(ReportDatasource ds);

	/**
	 * 测试动态切换数据源
	 * @param string
	 */
	void test(String string);

}
